Fast Quantum and Classical Phase Estimation

ABSTRACT

A quantum phase estimator may include at least one phase gate, at least one controlled unitary gate, and at least one measurement device. The quantum phase estimator receives at least one ancillary qubit and a calculational state comprised of multiple qubits. The phase gate may apply random phases to the ancillary qubit, which is used as a control to the controlled unitary gate. The controlled unitary gate applies a second random phase to the calculational state. The measurement device may measure a state of the ancillary qubit from which a phase of the calculational state may be determined.

CROSS REFERENCE TO RELATED PATENT APPLICATIONS

This patent application claims priority from U.S. Provisional Application No. 61/805,891, filed on Mar. 27, 2013, which provisional application is incorporated herein its entirety by reference.

BACKGROUND

Quantum algorithms promise computational speed-ups over their classical counterparts. Quantum phase estimation is a technique used in quantum algorithms, including algorithms for quantum chemistry (see, A. Aspuru-Guzik, A. D. Dutoi, P. J. Love, and M. Head-Gordon, Science 309, 1704 (2005), and B. P. Lanyon, J. D. Whitfield, G. G. Gillet, M. E. Goggin, M. P. Almeida, I. Kassal, J. D. Biamonte, M. Mohseni, B. J. Powell, M. Barbieri, A. Aspuru-Guzik, and A. G. White, Nature Chemistry 2, 106, 2008, arXiv:0905.0887), and quantum field theory (see, S. P. Jordan, K. S. M. Lee, and J. Preskill, “Quantum computation of scattering in scalar quantum field theories,” (2011), arXiv: 1112.4833), Shor's algorithm for prime factorization (see, P. Shor, SIAM Journal of Computing 26, 1484 (1997)), and algorithms for quantum sampling (see, M. Ozols, M. Roetteler, and J. Roland, in 3rd Innovations in Theoretical Computer Science Conference (ITCS), (ACM, 2012) pp. 290{308, arXiv:1103.2774, and also K. Temme, T. Osborne, K. Vollbrecht, D. Poulin, and F. Verstraete, Nature 471 (2011), 10.1038/nature09770, arXiv:0911.3635). Quantum phase estimation can also be used to find eigenvalues of a unitary matrix efficiently.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same reference numbers in different figures indicate similar or identical items.

FIG. 1 is a schematic diagram of an illustrative environment usable for estimating phases.

FIG. 2 is a schematic diagram of an illustrative circuit for estimating quantum phases.

FIG. 3 is a schematic diagram of another illustrative circuit for estimating quantum phases.

FIG. 4 is a schematic diagram of another illustrative circuit for estimating quantum phases.

FIG. 5 is a schematic diagram of yet another illustrative circuit for estimating quantum phases.

FIG. 6 is a schematic diagram of an illustrative non-quantum computing device for estimating phases and/or for classical post-processing of quantum phase estimations.

DETAILED DESCRIPTION Overview

This disclosure describes techniques for performing quantum phase estimation based on basic measurements and classical post-processing. The techniques may use purely random measurements that involve a number of measurements that may be optimal up to constant factors, albeit at the cost of exponential classical post-processing. The technique can also be used to improve classical signal processing. A quantum technique for phase estimation that yields an asymptotic improvement in runtime is discussed, and in some instances, the quantum technique comes within a factor of log* of the minimum number of measurements required while still utilizing minimal classical post-processing. The corresponding quantum circuit provides asymptotically lower depth and width (number of qubits) than previous quantum phase estimation circuits.

This disclosure includes the following sections: Section A describes an example environment for performing quantum phase estimation; and Section B describes an example framework for quantum phase estimation based on basic measurements and classical post-processing.

The process and systems described herein may be implemented in a number of ways. Example implementations are provided below with reference to the following figures.

A: Illustrative Environment

FIG. 1 is a schematic diagram of an example environment 100 for performing quantum phase estimation. The environment 100 includes a quantum computing system 102 and a non-quantum computing device 104. The non-quantum computing device 104 may be a digital computing system.

The quantum computing system 102 may include a quantum processor/memory 106 and input/output devices 108. The input/output devices 108 may include interferometers and other devices for, among other things, reading and setting states of qubits in the quantum processor/memory 106 and may include devices for interfacing with the non-quantum computing device 104.

The quantum processor/memory 106 may include topological quantum processor/memory 110, non-topological quantum processor/memory 112, quantum gates 114, quantum bus 116, and quantum phase estimator 118. The topological quantum processor/memory 110 may include devices and components for providing topological based quantum computing, e.g., 5/2/quantum Hall systems and systems exhibiting Majorana modes such as, but not limited to, 1-dimensional or quasi 1-dimensional wires. See U.S. patent application Ser. No. 13/860,246, filed Apr. 10, 2013, entitled “Multi-Band Topological Nanowires,” which is incorporated by reference herein in its entirety, for details of an exemplary system exhibiting Majorana modes.

The non-topological quantum processor/memory 112 may include devices and components for providing non-topological based quantum computing. For example, the non-topological quantum processor/memory 112 may include Josephson junctions for providing flux qubits.

The quantum bus 116 may include devices and components for providing an interface between quantum processor/memory 106 and the input/output devices 108. The quantum bus 116 may include devices and components for providing an interface between the topological quantum processor/memory 110 and the non-topological quantum processor/memory 112. An example quantum bus is described in U.S. patent application Ser. No. 13/292,217, U.S. Patent Publication No. 20120112168, entitled “Coherent Quantum Information Transfer between Topological and Conventional Qubit,” filed Nov. 9, 2011, which is incorporated by reference herein in its entirety.

The quantum gates 114 may include various devices and components for performing various operations on qubit states. For example, quantum gates 114 may include devices and components for, among others, Hadamard gates, phase gates, controlled gates (e.g., controlled unitary gates), adder gates, and corresponding adjoint adder gates. The Hadamard gate acts on a single qubit and maps the basis state |0

to (|0

+|1)/√{square root over (2)} and the basis state |1

to (|0

−|1

)/√{square root over (2)} and represents a rotation of π about the x- and z-axes. A phase gate acts on a single qubit and may alter the phase of one basis state of the qubit while leaving the other basis state unchanged. A controlled gate may act on multiple qubits, where one or more of the qubits provide a control for an operation. An adder gate such as, but not limited to, a 3-2 quantum adder (also called a carry save adder), may add multiple qubits, and a corresponding adjoint adder gate may undo operations of an adder gate.

The quantum phase estimator 118 includes devices and components for estimating quantum phases.

Illustrative Quantum Phase Estimators

FIGS. 2-4 show non-limiting embodiments of example quantum phase estimators. The operation of the various quantum phase estimators are discussed hereinbelow in subsequent sections of this disclosure.

FIG. 2 is a schematic diagram of an example sequential quantum phase estimator 200 that may be employed by the quantum processor/memory 106 of FIG. 1. The sequential quantum phase estimation circuit 200 receives a calculational state (|A

) 202, ancillary qubits (|0

), individually referenced as 204(1)-204(ms) and collectively referenced as 204, and includes a plurality of measurement circuits, individually referenced as 206(1)-206(ms) and collectively referenced as 206. Each measurement circuit 206 may be comprised of a controlled unitary gate 208, a pair of Hadamard gates 210 and 212, a phase gate 214, and a measurement device 216. A “slash” 218 indicates that the calculational state (|A

) 202 is comprised of multiple qubits. The calculational state (|A

) 202 may be, among other things, a quantum state employed in decryption (e.g., for prime factorization), quantum chemistry, sorting, and/or noisy signal analysis.

Features having the same indices, which are enclosed by parenthesis and appended to reference numerals, are part of the same measurement circuit 206. For example, the measurement circuit 206(1) includes the controlled unitary gate 208(1), the Hadamard gates 210(1) and 212(1), the phase gate 214(1), and the measurement device 216(1).

Each one of the controlled unitary gates 208(1)-208(ms) has a corresponding applied unitary operator Y₁ through Y_(ms). The calculational state (|A

) 202 is an eigenvector of each of the applied unitary operators Y₁−Y_(ms) (i.e., Y_(j)|A

=λ_(j)|A

, j=1, 2, . . . ms), and λ_(j)=e^(2πiφ) ^(j) due to Y_(j) being unitary) and is an eigenvector of a base unitary operator U (i.e., U|A

=λ|A

=e^(2πiφ)|A

). Each of the applied unitary operators Y₁−Y_(ms) is equivalent to corresponding multiple applications of the base unitary operator U (i.e., Y_(j)=U^(M) ^(j) , where M_(j) is an integer), and consequently, the eigenvalues are given by λ_(j)=e^(2πiφ) ^(j) =e^(2πiM) ^(j) ^(φ).

In some embodiments, the controlled unitary gates 208 may be programmable such that the applied unitary operators Y may be changeable. For example, the applied unitary operators Y may be changed for different rounds of measurements, e.g., consider the controlled unitary gate 208(j), in an n^(th) round of measurements Y_(j) ^(n)=U^(M) ^(j) ^(n) and in an (n+1) round of measurements Y_(j) ^(n+1)=U^(M) ^(j) ^(n+1) , where multiples M_(j) ^(n) and M_(j) ^(n+1) may be different.

In some instances, multiples (i.e., M_(j) ^(n)) may correspond to random values, or a sum of random values, or may correspond to non-random values. For example, in one round of measurements, e.g., in a first round of measurements, multiples M_(j) ¹ for j=1, 2, . . . , ms may be assigned in a predetermined, non-random, manner, and in a second round of measurements, multiples M_(j) ² for j=1, 2, . . . , ms may correspond to random values or a sum of random values.

The sequential quantum phase estimation circuit 200 performs operations from left to right. Thus, the measurement circuits 206 are arranged to perform sequential measurements of the calculational state (|A

) 202 starting with the measurement circuit 206(ms) and ending with the measurement circuit 206(1).

Operations of the measurement circuit 206(ms) are discussed in detail. The operations of the remaining measurement circuits 206(1)-206(ms−1) are identical, or essentially identical, and a detailed discussion of such is omitted in the interest of brevity.

The Hadamard gate 210(ms) operates on the ancillary qubit 204(ms), thereby changing the state of the ancillary qubit 204(ms) from state |0

to superposition of states |0

and |1

, having equal amplitude (i.e., |0

→(|0

+|1

)/√{square root over (2)}. The phase gate 214(ms) operates on the ancillary qubit 204(ms) ((|0

+|1

)/√{square root over (2)}) and provides a phase factor (e^(2πiθ) ^(ms) ) to one of the basis states while leaving the other basis state unchanged, e.g., ((|0

+e^(2πiθ) ^(ms) |1

)/√{square root over (2)})). The ancillary qubit 204(ms)+((|0

+e^(2πiθ) ^(ms) |1

)/√{square root over (2)})) is a control to the controlled unitary gate 208(ms).

When the ancillary qubit 204(ms) is in the state 10), the applied unitary operator (Y_(ms)) is not applied to the calculational state (|A

) 202. Thus, the calculational state (|A

) 202 is unchanged and is provided to the subsequent controlled unitary gate 208(ms−1) (not shown).

However, when the ancillary qubit 204(ms) is in the state |1

, the applied unitary operator (Y_(ms)) is applied to the calculational state (|A

) 202. The calculational state (|A

) 202 picks up a phase factor e^(2πiM) ^(ms) ^(φ) and is provided to the subsequent controlled unitary gate 208(ms−1) (not shown). The ancillary qubit 204(ms) also picks up the phase factor e^(2πiM) ^(ms) ^(φ).

The Hadamard gate 212(ms) operates on the ancillary qubit 204(ms) to undo the operations of the first Hadamard gate 210(ms). The measurement device 216 measures the current state (i.e., |0

or |1

) of the ancillary qubit 204(ms). The probability of the measurement device 216 measuring the ancillary qubit 204(ms) being in the zero base state (|0

) is different from the probability of the measurement device 216 measuring the ancillary qubit 204(ms) being in the one base state (|1

). The probabilities are a function of θ_(ms), M_(ms) and φ.

The measurement results from the measurement devices 216(1)-216(ms) may be provided to the non-quantum computing device 104, which may apply various statistical algorithms/techniques to determine the phase φ.

In some embodiments, the quantity “ms” may be approximately equal to the product of “m” times “s,” where “m” represents the number of bits for which the phase φ is to be determined and “s” represents a sample size of measurements.

In some embodiments, the phases (θ_(j), for j=1, 2 . . . ms) by the phase gates 214(1)-214(ms) and the multiples (M_(j), for j=1, 2 . . . ms) by the controlled unitary gates 208(1)-208(ms) may be selected randomly.

FIG. 3 is a schematic diagram of an example parallel quantum phase estimator 300 that may be employed by the quantum processor/memory 106 of FIG. 1. The parallel quantum phase estimator 300 receives a calculational state (|A

) 302 and ancillary qubits (|0

) 304 and includes a measurement circuit 306. The measurement circuit 306 may be comprised of a controlled unitary gate 308, a pair of Hadamard gates 310 and 312, a phase gate 314, and a measurement device 316. The measurement circuit 306 may further include an adder gate 318 and adjoint adder gate 320. The “slashes” 322 indicates that the calculational state (|A

) 302 and the ancillary qubits 304 are comprised of multiple qubits.

The parallel phase estimation circuit 300 performs operations from left to right.

The Hadamard gate 310 operates on the ancillary qubits 304, thereby changing the state of the ancillary qubits 304 from state |0

to superposition of states |0

and |1

, having equal amplitude (i.e., |0

→(|0

+|1

)/√{square root over (2)}). The phase gate 314 operates on the ancillary qubit 304 ((|0

+|1

)/√{square root over (2)}) and provides a phase factor (e^(2πiθ) ^(ms) ) to one of the basis states while leaving the other basis state unchanged, e.g., ((|0

+e^(2πiθ) ^(ms) |1

)/√{square root over (2)}).

After the Hadamard gate 310 and the phase gate 314, the adder gate 318 computes a state |S

, which is a sum of the ancillary qubit 304. The state |S

is a control to the controlled unitary gate 308.

The controlled unitary gate 308 may operate on the calculational state (|A

) 302 with the applied unitary operator Y=U^(M). The state |S

may pick up a phase factor (e^(2πiMφ)) through the application of the applied unitary operator Y.

The adjoint adder gate 320 operates to uncompute the state |S

(i.e., to reverse the operation of the adder gate 318).

The Hadamard gate 312 operates on the ancillary qubits 304 to undo, or reverse, the operations of the first Hadamard gate 310. The measurement device 316 measures the current states (i.e., |0

or |1

) of the ancillary qubits 304. In some embodiments, the measurement device 316 measures the current states (i.e., |0

or |1

) of the ancillary qubits 304 concurrently or approximately simultaneously.

The measurement results from the measurement device 316 may be provided to the non-quantum computing device 104, which may apply various statistical algorithms/techniques to determine the phase φ.

In some embodiments, the ancillary qubits 304 may be comprised of “s” qubits, where “s” represents a sample size of measurements. In such embodiments, there may be “m” iterations of measuring samples—the ancillary qubits 304 may be provided “m” times and each time the measuring device 316 may measure “s” states, and the phase (θ) employed by the phase gate 314 and the multiple “M” employed by the controlled unitary gate 308 may be programmable. In some instances, values for the phase (θ) employed by the phase gate 314 and the multiple “M” employed by the controlled unitary gate 308 may be selected in accordance with a non-random scheme, and in other instances, the values may be selected randomly. From the “m” iterations, the phase of the calculational state may be determined.

FIG. 4 is a schematic diagram of an example cluster 400 of parallel quantum phase estimators that may be employed in a cluster of quantum computing systems 102 of FIG. 1. The cluster 400 of parallel quantum phase estimators may be comprised of nodes 402(1)-402(m). Each node 402 receives a calculational state (|A

) 404, ancillary qubits (|0

) 406 and includes a measurement circuit comprised of a controlled unitary gate 408, a pair of Hadamard gates 410 and 412, a phase gate 414, a measurement device 416, an adder gate 418 and adjoint add gate 420. The “slashes” 422 indicates that the calculational state (|A

) 404 and the ancillary qubits 406 are comprised of multiple qubits.

In some embodiments, the ancillary qubits 406 may be comprised of “s” qubits, where “s” represents a sample size. In some embodiments, the number of nodes (m) may correspond to the number of bits for which the phase φ is to be determined.

Each node 402 of the cluster 400 of parallel quantum phase estimators operates in the same, or essentially the same, manner as the parallel quantum phase estimator 300, and in the interest of brevity, a detailed discussion of the operation of the nodes is omitted.

In some instances, for each node 402(j), the phase (θ_(j)) employed by the phase gate 414 and the multiple (M_(j)) employed by the controlled unitary gate 408 may be selected randomly, and in other instances, the values for the phase (θ_(j)) and the multiple (M_(j)) may be selected non-randomly.

FIG. 5 is a schematic diagram of an example cluster 500 of sequential quantum phase estimators that may be employed in a cluster of quantum computing systems 102 of FIG. 1. The cluster 500 of sequential quantum phase estimators may be comprised of nodes 502(1)-502(m). Each node 502 receives a calculational state (|A

) 504, ancillary qubits (|0

), individually referenced as 506(1)-506(s) and collectively referenced as 506, and includes a plurality of measurement circuits, individually referenced as 508(1)-508(s) and collectively referenced as 508. Each measurement circuit 508 is comprised of a controlled unitary gate 510, a pair of Hadamard gates 512 and 514, a phase gate 516, and a measurement device 518. A “slash” 520 indicates that the calculational state (|A

) 504 is comprised of multiple qubits.

In some embodiments, “s” (the number of ancillary number of qubits 406 received at a node 502, may represents a sample size. In some embodiments, the number of nodes (m) may correspond to the number of bits for which the phase φ is to be determined.

Each node 502 of the cluster 500 of sequential quantum phase estimators operates in the same, or essentially the same, manner as the sequential quantum phase estimator 200, and in the interest of brevity, a detailed discussion of the operation of the nodes is omitted.

In some instances, for each node 502, the phases (θ_(j), j=1, 2 . . . , s) employed by the phase gates 516 and the multiples (M_(j), j=1, 2 . . . a) employed by the controlled unitary gates 508 may be selected randomly, and in other instances, the phases (θ_(j), j=1, 2 . . . s) and the multiples (M_(j), j=1, 2 . . . s) may be selected non-randomly.

Illustrative Non-Quantum Computing Device

FIG. 6 shows an illustrative non-quantum computing device 104 that may be used in environment 100. It will readily be appreciated that the various embodiments described above may be implemented in other computing devices, systems, and environments. The non-quantum computing device 104 shown in FIG. 6 is only one example of a computing device and is not intended to suggest any limitation as to the scope of use or functionality of the computer and network architectures. The non-quantum computing device 104 is not intended to be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the example computing device.

In a very basic configuration, the non-quantum computing device 104 typically includes at least one processor 602 and system memory 604. The processor 602 is a non-quantum processing unit such as, for example, a conventional computer processor such as a digital processor. Depending on the exact configuration and type of computing device, the system memory 604 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. The system memory 604 typically includes an operating system 606, one or more program modules 608, and may include program data 610. The computing device 600 is of a very basic configuration demarcated by a dashed line 614.

The program modules 608 may include instructions for, among other things, implementing classical phase estimation, which may be based on purely random measurements, and for classical post processing of quantum phase estimations. The program modules 608 may include, among other things, algorithms and techniques for iteratively determining bits of a phase and for statistical analysis of measured outcomes including determining phases that maximize conditional probabilities for measured outcomes.

The non-quantum computing device 104 may have additional features or functionality. For example, the computing device 600 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 6 by removable storage 616 and non-removable storage 618. Computer-readable media may include, at least, two types of computer-readable media, namely computer storage media and communication media. Computer storage media may include volatile and non-volatile, removable, and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. The system memory 604, the removable storage 616 and the non-removable storage 618 are all examples of computer storage media. Computer storage media includes, but is not limited to, random-access-memory (RAM), read-only-memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory or other memory technology, compact disk (CD), CD-ROM, digital versatile disks (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store the desired information and which can be accessed by the non-quantum computing device 104. Any such computer storage media may be part of the non-quantum computing device 104. Moreover, the computer-readable media may include computer-executable instructions that, when executed by the processor(s) 602, perform various functions and/or operations described herein.

In contrast, communication media embodys computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media does not include communication media.

The non-quantum computing device 104 may also have input device(s) 620 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 622 such as a display, speakers, printer, etc. may also be included. These devices are well known in the art and are not discussed at length here.

The non-quantum computing device 104 may also contain communication connections 624 that allow the device to communicate, such as over a network, with other computing devices 626 including the quantum computing system 102. These networks may include wired networks as well as wireless networks. The communication connections 624 are one example of communication media.

The illustrated non-quantum computing device 104 is only one example of a suitable device and is not intended to suggest any limitation as to the scope of use or functionality of the various embodiments described. Other well-known computing devices, systems, environments and/or configurations that may be suitable for use with the embodiments include, but are not limited to personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-base systems, set top boxes, game consoles, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and/or the like.

B: Quantum Phase Estimation

There are two main approaches to quantum phase estimation: (1) invoking an inverse Quantum Fourier Transform (QFT) to extract information about the phase or (2) performing a basic measurement operation followed by classical post-processing in place of the QFT. An advantage to approach (2) is that it uses classical post-processing in place of quantum operations, trading off an expensive resource for an inexpensive classical computation. In particular, the QFT requires many small controlled-rotations, each of which must be approximated to precision ε by a sequence of basic quantum operations of length O(log(1/ε)). In practice, it may be desirable to significantly reduce the circuit depth of the phase estimation algorithm in exchange for a small increase in circuit width, i.e., the number of qubits. Therefore, this disclosure focuses on approach (2) and utilizes quantum measurements to infer information about the phase.

A phase estimation technique that may be based on random measurements to infer the phase is discussed. This technique uses the fewest number of measurements of any currently known technique (and it is shown that it is within a constant factor of optimal). However, in some instances, the technique may require an impractical amount classical post-processing for use in, say, Shor's algorithm, with a complexity that is exponential in the number of bits being inferred. However, this technique may be practical for other applications. As non-limiting examples, this technique may be practiced in certain classical noisy signal processing and inference applications, where the number of bits being inferred is smaller.

A fast phase estimation technique is discussed. This phase estimation technique considers inference across multiple qubits, and it is shown that this technique requires asymptotically fewer measurements, and in turn has a correspondingly (asymptotically) smaller circuit width and depth, while still allowing efficient classical post-processing.

Four non-limiting models of computation are discussed below: the first is a sequential model with limited parallelism, the second is a parallel model, the third is a model based on a cluster of parallel quantum computers, and the fourth is a model based on a cluster of sequential quantum computers.

Phase Estimation and the Basic Measurement Operation

The goal of quantum phase estimation and the basic measurement operator, following the algorithm of Kitaev (see, A. Y. Kitaev, Electronic Colloquium on Computational Complexity (ECCC) 3 (1996) and A. Y. Kitaev, A. Shen, and M. Vyalyi, Classical and Quantum Computation (American Mathematical Society, Providence, R.I., 2002), are discussed below. The steps are derived slightly differently than Kitaev, in anticipation of extensions discussed in the later sections.

Assume a unitary operator U for which it is desired to estimate the eigenvalues λ_(k) of U given U and the eigenvectors |ξ_(k)

:

U|ξ _(k)

=λ_(k) |ξk

,  (1)

where the eigenvalues take the form λ_(k)=e^(2πi·φ) ^(k) . The phase φ_(k) is a real number modulo 1, which can be represented as a unit-length circle:

${\phi_{k} = {\frac{k}{t}\; {mod}\; 1}},{\phi_{k} \in {{\mathbb{R}}/{\mathbb{Z}}}},{0 \leq k < t < 2^{m}},$

where m represents the number of bits of accuracy for which φ_(k) is determined (while it may seem more natural at first to instead consider numbers that range between 0 and 2π, rather than choosing a number between 0 and 1 and multiplying by 2π, the latter is chosen because it will be more natural when later considering an expansion of φ_(k) as a binary fraction). By measuring the eigenvalues of U, an estimate of the phase φ_(k) may be obtained; this process is called quantum phase estimation. (In the context of Shor's algorithm, the corresponding eigenvector is defined as

$\left. {{\xi_{k}\rangle} = {\frac{1}{\sqrt{t}}{\sum\limits_{n = 0}^{t - 1}{^{{- 2}\; \pi \; { \cdot n}\; \phi_{k}}{{a^{n}\rangle}.}}}}} \right)$

The goal of phase estimation algorithms is to take a state of the form |ξ_(k)

and determine the corresponding eigenvalue λ_(k). The measurement operation described below commutes with U, so it may be applied multiple times to the same state with different parameters to improve the knowledge of the eigenvalue. There are two parameters in the measurement result: (1) the precision δ and (2) the probability of error ε. That is, some estimate α of φ_(k) is obtained where, with probability at least 1−ε, |α−φ_(k)|_(mod 1)<δ, where mod 1 is the distance on the unit circle. If φ_(k) is chosen from a discrete set of angles

$\frac{k}{t}$

with fixed t and unknown k, the goal is to make the precision smaller than

$\delta = \frac{1}{2\; t}$

so that φ_(k) may be determined from this set. As discussed below, the problem may be simplified by directly inferring the angle φ_(k) from the discrete set of possible angles, without bothering to introduce a real number precision. In this case ε is the probability of error in the discrete inference.

Basic Measurement Operation

A measurement operator may be constructed such that the conditional probability depends on φ_(k), that is, upon measuring this operator, information about φ_(k) may be learned. This construction relies on the fact that if ξ_(k) is an eigenvector of U, then it is also an eigenvector of powers M of U:

$\begin{matrix} \begin{matrix} {{U^{M}{\xi_{k}\rangle}} = {\lambda_{k}^{M}{\xi_{k}\rangle}}} \\ {= {^{2\; \pi \; \; {M \cdot \phi_{k}}}{{\xi_{k}\rangle}.}}} \end{matrix} & (2) \end{matrix}$

The operator takes as input two quantum registers: one initialized to |0

and the other initialized to the eigenvector |ξ_(k)

. The operator depends upon two parameters, a “multiple” M and an “angle” θ, where M is an integer between 1 and t−1 and θ is a real number between 0 and 2π. In some embodiments, M may be restricted to positive integers.

The measurement operator used to measure the eigenvalues is as follows:

$\begin{matrix} \begin{matrix} {{\Xi_{M,\theta}(U)} = {\sum\limits_{k}{{{\frac{1}{2}\begin{bmatrix} {1 + ^{{2\; \pi \; \; {M \cdot \phi_{k}}} + {\; \theta}}} & {1 - ^{{2\; \pi \; \; {M \cdot \phi_{k}}} + {\; \theta}}} \\ {1 - ^{{2\; \pi \; \; {M \cdot \phi_{k}}} + {\; \theta}}} & {1 + ^{{2\; \pi \; \; {M \cdot \phi_{k}}} + {\; \theta}}} \end{bmatrix}} \otimes {\xi_{k}\rangle}}\; {\langle\xi_{k}}}}} \\ {{= {\frac{1}{2}\begin{bmatrix} {1 + {U^{M}{\exp \left( {\; \theta} \right)}}} & {1 - {U^{M}{\exp \left( {\; \theta} \right)}}} \\ {1 - {U^{M}{\exp \left( {\; \theta} \right)}}} & {1 + {U^{M}{\exp \left( {\; \theta} \right)}}} \end{bmatrix}}},} \end{matrix} & (3) \end{matrix}$

which acts on the quantum states by the following transformation:

$\begin{matrix} {{{0\rangle} \otimes {\xi_{k}\rangle}}\overset{\Xi_{M,\theta}{(U)}}{\mapsto}{\left( {{\frac{1 + ^{{2\; \pi \; \; {M \cdot \phi_{k}}} + {\; \theta}}}{2}{0\rangle}} + {\frac{1 - ^{{2\; \pi \; \; {M \cdot \phi_{k}}} + {\; \theta}}}{2}{1\rangle}}} \right) \otimes {{\xi_{k}\rangle}.}}} & (4) \end{matrix}$

A phase gate, R_(Z)(θ), may be implemented and corresponds to the unitary:

$\begin{matrix} {{R_{Z}(\theta)} = {\begin{bmatrix} 1 & 0 \\ 0 & ^{\; \theta} \end{bmatrix}.}} & (5) \end{matrix}$

It follows that the measurement outcome probabilities are given by:

$\begin{matrix} {{{P_{M,\theta}\left( {0k} \right)} = {{\frac{1 + ^{{2\; \pi \; \; {M \cdot \phi_{k}}} + {\; \theta}}}{2}}^{2} = \frac{1 + {\cos \left( {{2\; \pi \; {M \cdot \phi_{k}}} + \theta} \right)}}{2}}},} & (6) \\ {and} & \; \\ {{p_{m,\theta}\left( {1K} \right)} = {{\frac{1 - ^{{2\; \pi \; \; {M \cdot \phi_{k}}} + {\; \theta}}}{2}}^{2} = {\frac{1 - {\cos \left( {{2\; \pi \; {M \cdot \phi_{k}}} + \theta} \right)}}{2}.}}} & (7) \end{matrix}$

These probabilities are written as conditional probabilities to emphasize that they depend upon the unknown k.

Relation to Classical Fourier Transform and Generalizations

With Eqs. (6,7) in hand, if a large number of measurements are applied using the same M at both θ=0 and θ=π/2, cos(2πMφ_(k)) and sin(2πMφ_(k)) may be accurately estimated. Using a sufficiently accurate estimate of these cosines and sines at two different values of M allows φ_(k) to be accurately determined. This is the problem of reconstructing a sparse signal (in this case, composed of a single Fourier mode) from its value at a small number of different “times” (i.e., different values of M). However, the accurate determination of cos(2πM·φ_(k)) would require a very large number of measurements, polynomial in t, while other methods require many fewer measurements. The reason is that the large number of measurements at a fixed value of M means that each measurement imparts little additional information. By varying M, accurate results are obtained from a much smaller number of measurements. For example, M may be randomly varied in different measurements, e.g., in a first measurement, M may be 2 and in a second measurement, M may be 8.

This relates to a problem of reconstructing the Fourier transform of a signal from very noisy measurements. The quantum phase estimation problem involves a signal with a single Fourier mode. However, this gives rise to a natural generalization of reconstructing a problem with a small number of Fourier modes from very noisy measurements.

“Information Theory” Phase Estimation

One procedure for estimating the phase (or angle) is to perform a series of random measurements and then solve a hard classical reconstruction problem. The operator is measured at a set of randomly chosen multiples M_(i) and angles θ_(i) and classically reconstruct the angle 2πφ_(k). As shown below, φ_(k) can be determined with as few as O(log(t)) measurements and this result is tight.

M_(i) is randomly selected for each measurement i between 1 and t−1, and a small randomized offset noise θ_(i)=2πr is assumed, where r is a random double. The conditional measurement probabilities for this measurement operator on the i^(th) measurement are given by:

$\begin{matrix} {{{P_{i}\left( {0k} \right)} = \frac{1 + {\cos \left( {{2\; \pi \; {M_{i} \cdot \phi_{k}}} + \theta_{i}} \right)}}{2}},} & (8) \\ {and} & \; \\ {{P_{i}\left( {1k} \right)} = {\frac{1 - {\cos \left( {{2\; \pi \; {M_{i} \cdot \phi_{k}}} + \theta_{i}} \right)}}{2} = {1 - {{P_{i}\left( {0k} \right)}.}}}} & (9) \end{matrix}$

Let v_(i) be the outcome of the i^(th) measurement. Since different measurements are independent events, the probability of getting a given sequence of measurement outcomes is

P(v ₁ , . . . ,v _(s) |k)=Π_(i=1) ^(s) P _(i)(v _(i) |k).  (10)

Assuming a flat a priori distribution of k, the probability distribution of k given the measurement sequence is proportional to P(v₁, . . . , v_(s)|k). A technique for computing k, given a sequence of s measurements, is as follows: for each k compute the probability P(v₁, . . . , v_(s)|k), outputting the k which maximizes this. The post-processing time required is of order st, which is exponentially large in the number of bits inferred since the value of k that it outputs can be written with ┌ log₂(t)┐ bits.

Bounds on s

In the following discussion it is shown that O(log(t)) measurements suffice to estimate the angle with high probability. This number of measurements required is asymptotically optimal (up to constant factors), as clearly └ log₂(t)┘ measurements are required to have an error probability greater than ½: after s measurements, there are at most 2^(s) possible outcomes for the sequence of measurements, so to select an angle from a set of t choices with probability greater than ½, requires that 2^(s)>t/2. A more sophisticated entropic argument would likely be able to improve the constant in front of this lower bound.

The next theorem implies that the number of measurements to obtain error probability at most ε is −log_(c)(t/ε) for some constant c<1.

Theorem 1.

Suppose the multiples M_(i) and angles θ_(i) are chosen randomly as discussed above, and suppose the measurement outcomes are chosen with probabilities given in Eqs. (8,9) for k=k₀. Then, the probability ε that the algorithm described above chooses a k′≠k₀ as the choice with maximal likelihood is bounded by

tc ^(s)  (11)

for some numerical constant c strictly less than 1 (c does not depend upon t).

Proof.

First consider a given k′≠k₀ and estimate the probability that after s measurements, the probability P(v₁, . . . , v_(s)|k′)=Π_(i=1) ^(s) P_(i)(v_(i)|k′) is greater than or equal to P(v₁, . . . v_(s)|k₀). Consider the expectation value

$\begin{matrix} {{E\left\lbrack \frac{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}k^{\prime}}} \right)}^{1/2}}{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}k_{0}}} \right)}^{1/2}} \right\rbrack},} & (12) \end{matrix}$

where the expectation value is over measurement outcomes and choices of M_(i) and θ_(i). This equals

${{E_{\{{M_{i},\theta_{i}}\}}\left\lbrack {\sum_{\{ v_{i}\}}{\frac{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}k^{\prime}}} \right)}^{1/2}}{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}k_{0}}} \right)}^{1/2}}{P\left( {{v_{1}\ldots}\mspace{14mu},{v_{s}k_{0}}} \right)}}} \right\rbrack} = {E_{\{{M_{i},\theta_{i}}\}}\left\lbrack {\sum_{\{ v_{i}\}}{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}k^{\prime}}} \right)}^{1/2}{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}k_{0}}} \right)}^{1/2}}} \right\rbrack}},$

where the sum is over all 2^(s) possible sequences v₁, . . . , v_(s) of measurement outcomes and the expectation value is now over all choices of θ_(i), M_(i). This equals

(E _(M,θ)[Σ_(v) P _(M,θ)(v|k′)^(1/2) P _(M,θ)(v|k ₀)^(1/2)])^(s).  (13)

A direct calculation shows that for all k′≠k, the term in parenthesis E_(M,θ)[Σ_(v) P_(M,θ)(v|k′)^(1/2)P_(M,θ)(v|k₀)^(1/2)] is bounded by some constant c<1 for all t. Thus, the expectation value (12) is bounded by c^(s). Thus, for a given k′, the probability that P(v₁, . . . , v_(s)|k′)≧P(v₁, . . . , v_(s)|k₀) is bounded by c^(s), as can be shown by applying Markov's inequality to

$\frac{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}k^{\prime}}} \right)}^{1/2}}{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}k_{0}}} \right)}^{1/2}}.$

Thus, the probability that there is a k′ such that P(v₁, . . . , v_(s)|k′)≧P(v₁, . . . , v_(s)|k₀) is bounded by tc^(s).

The estimate in the above theorem is not optimized: it is possible that a tighter bound could be considered by estimating the expectation value

$E\left\lbrack \left( \frac{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}k^{\prime}}} \right)}{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}k_{0}}} \right)} \right)^{a} \right\rbrack$

for some constant 0<a<1 and optimizing the choice of a in the spirit of the Chernoff bound.

Finally, while θ is selected randomly between 0 and 2π in the above technique and in the above theorem, in fact it would suffice to pick θ randomly from the set of angles {0, π/2}, or indeed from any set of a pair of angles that do not differ by exactly π (for example, the set {0, π} would not work). The proof of the theorem would be essentially the same in this case, and restricting to such a smaller set of angles may be more convenient for implementation on a quantum computer.

Classical Inference of Multiple Fourier Modes

The results above suggest a natural generalization of the problem. Define a classical channel E(x) which maps from a real number x between −1 and 1 to an output consisting of a single bit. The output probabilities of this channel are fixed:

$\begin{matrix} {{{P\left( {0x} \right)} = \frac{1 + x}{2}},} & (14) \\ {and} & \; \\ {{P\left( {1x} \right)} = {\frac{1 - x}{2}.}} & (15) \end{matrix}$

Then Eqs. (8,9) can be interpreted as follows: for θ_(i)=0, for any M_(i), the number cos(2πM_(i)·φ_(k)) is taken and this number is input into the channel and the output of the channel is the measurement outcome, while for φ_(i)=1, sin(2πM_(i)·φ_(k)) is the input.

This then suggests a natural generalization. Consider a classical signal written as a sum of Fourier modes:

f(M)=E _(k) a _(k)exp(2πiM·φ _(k)).  (16)

Here, M is an integer and the function is periodic with period t.

Then, the natural classical problem results:

Problem 1

Assume that f(M) is K-sparse, meaning that at most K of the coefficients a_(k) are non-zero. Assume that the non-zero a_(k) are chosen from a discrete set S of possible values (typically the case of |S| being small is most interesting), with min_(v≠w,v∈S,w∈S)|v−w|≧d_(min) for some d_(min). The a_(k) may be complex.

Let A_(max) be the maximum of |f(M)| over all such K-sparse a_(k) and over all M.

Assume a channel C(x) (the channel need not be the same as that given above in Eqs. (14,15) which maps from a real number in the range [−A_(max), A_(max)] to an output chosen from a discrete set. For this channel to be useful in inferring x from measurements of the output, it will be required that different input numbers lead to different output probabilities, and this requirement is quantified more precisely below in Eq. (17).

Pick several different M_(i), and for each M_(i) measure C(Re(f(M_(i)))) or C(Im(f(M_(i)))). Infer the coefficients a_(k).

This problem can be interpreted as inferring a classical sparse signal from noisy measurements at several different “times” (interpreting each M_(i) as a time at which to infer the signal). As discussed below, given suitable assumptions on C(x), this problem can be solved using a number of measurements that is O(log(N_(choices))) where N_(choices) is the number of possible choices of K-sparse f(M). As before, this number of measurements is asymptotically optimal. Note that for K<<t, log(N_(choices))≈K log(t|S|).

The procedure described is similar to that previously described: select random M_(i) and randomly choose whether to measure C(Re(f(M_(i)))) or C(Im(f(M_(i)))) at each time. After s measurements, select the choice of a_(k) which has the maximal a posteriori likelihood, assuming a flat initial distribution. Interestingly, since the number of measurements needed is asymptotically much smaller than √{square root over (t)} (indeed as few as log(t) measurements are needed), this random procedure typically does not ever pick M_(i)=M_(j) for i≠j. That is, interpreting the M_(i) temporally, i.e., as “times”, this means that the signal is not measured twice at the same time.

Note that that the non-zero coefficients are assumed to be chosen from a small set S of possible values. As the number of possible values of S increases, the number of measurements increases for two reasons. First N_(choices) increases. Second, the values in the set become more closely spaced (d_(min) becomes smaller compared to A_(max)), and the measurement outcomes probabilities hence become less sensitive to the particular value of a_(k). This second problem is actually the more serious one. Suppose that a signal is 1-sparse, and it is known that the only non-zero a_(k) is at k=0. The question is to infer the magnitude of a₀. Every measurement then consists of sending a₀ into the channel C(x). Using the channel C(x) before, it takes 1/ε² measurements to infer a₀ to precision ε. This number of measurements is exponential in the number of bits of precision in a₀. That is, it takes many more measurements to infer the amplitude of a Fourier coefficient than it does to infer its frequency.

Theorem 2

Suppose the multiples M_(i) are chosen at random as above and it is randomly determined whether to measure C(Re(f(M_(i)))) or C(Im(f(M_(i)))) at each time. Suppose also that C(x) has the probability that for any x, y∈[−A_(max), A_(max)]

Σ_(v) P(v|x)^(1/2) P(v|y)^(1/2)≦1−c ₀ |x−y| ²  (17)

for some constant c₀. Then, the probability ε that the algorithm described above chooses a k′≠k₀ as the choice with maximal likelihood is bounded by

N _(choices) c ^(s)  (18)

where

$\begin{matrix} {c \leq {1 - {{c_{0}\left( \frac{d_{\min}}{2} \right)}^{2}{\frac{d_{\min}^{2}}{16\; A_{\max}^{2}}.}}}} & (19) \end{matrix}$

Proof.

Assume the correct choice of a_(k) is given by â_(k). Consider a given sequence a_(k)′ (such that for at least one k, a_(k)′≠â_(k)) and estimate the probability that after s measurements, the probability P(v₁, . . . , v_(s)|a_(k)′) is greater than or equal to P(v₁, . . . v_(s)|â_(k)), where v₁, . . . , v_(s) are the measurement outcomes of the channel.

Let

f ₀(M)=Σ_(k) â _(k)exp(2πiM·φ _(k))  (20)

and

f′(M)=Σ_(k) a _(k)′exp(2πiM·φ).  (21)

Consider the expectation value

$\begin{matrix} {{E\left\lbrack \frac{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}a_{k}^{\prime}}} \right)}^{1/2}}{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}{\hat{a}}_{k}}} \right)}^{1/2}} \right\rbrack},} & (22) \end{matrix}$

where the expectation value is over measurement outcomes and choices of M_(i) and choices of real or imaginary part. This equals

$E_{\{{M_{i},R_{i}}\}}\left\lbrack {\sum_{\{ v_{i}\}}{\frac{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}a_{k}^{\prime}}} \right)}^{1/2}}{{P\left( {v_{1},\ldots \mspace{14mu},{v_{s}{\hat{a}}_{k}}} \right)}^{1/2}}{P\left( {{v_{1}\ldots}\mspace{14mu},{v_{s}{\hat{a}}_{k}}} \right)}}} \right\rbrack$

where the sum is over all possible sequences v₁, . . . , v_(s) of measurement outcomes and the expectation value is now over all choices of θ_(i) and of real or imaginary part (R_(i)=0, 1 is used to denote a measurement of real or imaginary part). This equals

$\begin{matrix} {\left\{ {\frac{1}{t}{\sum\limits_{M = 0}^{t - 1}\begin{pmatrix} {\frac{{P\left( {v{{Re}\left( {f_{0}(M)} \right)}} \right)}^{1/2}{P\left( {v{{Re}\left( {f^{\prime}(M)} \right)}} \right)}^{1/2}}{2} +} \\ \frac{{P\left( {v{{Im}\left( {f_{0}(M)} \right)}} \right)}^{1/2}{P\left( {v{{Im}\left( {f^{\prime}(M)} \right)}} \right)}^{1/2}}{2} \end{pmatrix}}} \right\}^{s},} & (23) \end{matrix}$

where the probabilities P(v|x) are the probability that the channel C gives output v given input x.

Utilizing the assumptions on C(x) it is shown that the term in parenthesis in Eq. (23) is bounded by some constant c<1 for all t. Thus, the expectation value (22) is bounded by c^(s). Thus, for given a_(k)′, the probability that P(v₁, . . . , v_(s)|a_(k)′)≧P(v₁, . . . , v_(s)|â_(k)) is bounded by c^(s).

Thus, the probability that there is an a_(k)′ such that P(v₁, . . . , v_(s)|_(k)′)≧P(v₁, . . . , v_(s)|â_(k)) is bounded by N_(choices)c^(s).

Consider

$\frac{1}{t}{\sum_{M}{{{{f^{\prime}(M)} - {f_{0}(M)}}}^{2}.}}$

This is greater than for d_(min) ². Also, for every M, |f′(M)−f₀(M)|²≦4A_(max) ². So, for randomly chosen M, the probability that |f′(M)−f₀(M)|² is greater than or equal to d_(min) ²/2 is at least d_(min) ²/8A_(max) ². So, the probability that if M is randomly chosen and it is randomly determined whether to measure real or imaginary part, that the corresponding parts (i.e., either real or imaginary) of f′(M)−f₀(M) is greater than d_(min)/2 in absolute value is at least d_(min) ²/16A_(max) ². Hence, by the assumption (17) on C(x), the term in parenthesis in Eq. (23) is bounded by

$\begin{matrix} {c \leq {1 - {{c_{0}\left( \frac{d_{m\; i\; n}}{2} \right)}^{2}{\frac{d_{m\; i\; n}^{2}}{16A_{{ma}\; x}^{2}}.}}}} & (24) \end{matrix}$

A technique for “Information Theory” phase estimation may given by the pseudo code below:

“Information Theory” Phase Estimation Pseudo Code 1. for i = 1, ...,s do 2. Choose random M_(i). Choose random θ_(i). 3. Perform basic measurement operation with multiple M_(i) and angle θ_(i) 4. End for 5. Maximize P(v₁, ..., v_(s)|k) = Π_(i=1) ^(s) P_(i)(v_(i)|k) over all choices of k, where 0 ≦ k < t < 2^(m). 6. Return k/t, the estimate of the phase Estimating φ_(k) with Constant Precision

Recall that

${\phi_{k} = {\frac{k}{t}{mod}\; 1}},$

where φ_(k)∈

/

and 0≦k<t<2^(m). Let θ_(i)={0, π/2} at random. Using the measurement operator above and Eqs. (6, 7), the conditional probability when measuring multiple M=1 is given by:

$\begin{matrix} {{P\left( 0 \middle| k \right)} = \frac{1 + {\cos \left( {{2{\pi \cdot \phi_{k}}} + \theta_{i}} \right)}}{2}} & (25) \end{matrix}$

Solving for the conditional probability P(0|k):

$\begin{matrix} \begin{matrix} {{{2{P\left( 0 \middle| k \right)}} - 1} = {\cos \left( {{2{\pi \cdot \phi_{k}}} + \theta_{i}} \right)}} \\ {= {{{\cos \left( {2{\pi \cdot \phi_{k}}} \right)}\cos \; \theta_{i}} - {{\sin \left( {2{\pi \cdot \phi_{k}}} \right)}\sin \; {\theta_{i}.}}}} \end{matrix} & (26) \end{matrix}$

s measurements, with θ_(i)∈{0, π/2} choosen randomly, are made to obtain approximations P_(cos)*, and P_(sin)* close to cos(2π·φ_(k)) and sin(2π·φ_(k)), respectively. Let there be N_(c) measurements with θ_(i)=0. Let N_(c)(0) denote the number of these measurements having outcome 0 and let N_(c)(1) denote the number having outcome 1. Then,

$\begin{matrix} {P_{{co}\; s}^{*} = {\frac{{N_{c}(0)} - {N_{c}(1)}}{N_{c}}.}} & (27) \end{matrix}$

If there are N_(s) measurements with θ_(i)=π/2, with N_(s)(0) of them having outcome 0 and N_(s)(1) having outcome 1, then

$\begin{matrix} {P_{{si}\; n}^{*} = {\frac{{N_{s}(1)} - {N_{s}(0)}}{N_{s}}.}} & (28) \end{matrix}$

Given P_(cos)*, P_(sin)*, an estimate of the angle φ_(k) is obtained by taking an arctangent of P_(sin)*/P_(cos)*, choosing the appropriate quadrant.

Equivalently, multiples M_(i) of φ_(k) can be determined in the same manner by measuring and obtaining the probability

$\begin{matrix} {{{P\left( 0 \middle| k \right)} = \frac{1 + {\cos \left( {{2\pi \; {M_{i} \cdot \phi_{k}}} + \theta_{i}} \right)}}{2}},} & (29) \end{matrix}$

and computing similar estimates P* and again taking an arctangent. Estimating φ_(k) with Exponential Precision

To efficiently achieve exponential precision in the estimate of φ_(k), multiples M_(i) of φ_(k) are measured. Then the measurement results in a classical inference technique are used to enhance the precision of the estimate. The technique begins by measuring multiple M₀=2^(m−1), then M₁=2^(m−2), increasing the precision as we move to M_(m−1)=2⁰.

To achieve the desired precision and probability of error, each multiple is measured s times, where in this section, s refers to the number of measurements per multiple for both cosine and sine, so that the total number of measurements required is 2 ms. The estimate of 2^(j)·φ_(k), using methods of constant precision of the estimate of φ_(k), is denoted as ρ_(j).

Introducing binary fraction notation, where .α₁ . . . α_(j) =Σ_(p=1) ^(j)2^(−p)α_(p), α_(p)∈{0,1}. The output of the algorithm is α= .α₁ . . . a_(m+2) , which is an exponentially precise estimate of φ_(k):

$\begin{matrix} {{{\alpha - \phi_{k}}} < {\frac{1}{2^{m + 2}}.}} & (30) \end{matrix}$

Fast Phase Estimation

This section discusses techniques for determining phase estimation by considering inference across multiple bits simultaneously. In particular, an example algorithm, which improves the number of measurements O(m log(m)) as provided by Kitaev's algorithm (see, A. Y. Kitaev, A. Shen, and M. Vyalyi, Classical and Quantum Computation (American Mathematical Society, Providence, R.I., 2002), which is hereinafter referred to as “Kitaev 2002”) to O(m log(log(m)).

In some embodiments, the example algorithm comprises two “rounds”, the first round is similar to Kitaev 2002 and measures powers of two (albeit a different number of times than Kitaev 2002), and the second round infers multiple bits simultaneously. In some instances, the cardinal number of random powers of two may be a small number, e.g., less than 50.

In some embodiments, the techniques may be further improved by considering more rounds, requiring O(m log(log(log(m)))) measurements for three rounds, and so on. Ultimately techniques that requires 0(m log*(m)) measurements, where log*(m) is the iterated logarithm and is bounded for all practical purposes by 5. These techniques all require an amount of computational time for classical post-processing that is as little as O(m log(m)).

Two Round Technique

The measurements used in the first round of the two-round algorithm is similar to those of Kitaev's algorithm, except that the parameter s is chosen differently. Set s=s₁ for some s₁ chosen later (in the first round this quantity is s₁, and in the second round it is s₂, and so on). Using a Chernoff bound estimate as in Kitaev 2002, the probability can be bounded such that the difference between 2^(j−1)·φ_(k) and the best estimate of 2^(j−1)·φ_(k) is greater than 1/16 by exp(−cs₁) for some constant c>0. For notational simplicity, the one piece of notation that was used in Kitaev's original algorithm: for each j, let β_(j) be the closest approximation in the set

$\left\{ {\frac{0}{8},\ldots \mspace{14mu},\frac{7}{8}} \right\}$

to the estimate of 2^(j−1)·φ_(k). So, the probability of an error larger than ⅛ in β_(j) is bounded by exp(−cs₁).

A goal in the first round of the two-round technique is to give, for almost every j, a quantity called ρ_(j) that will be an estimate of 2^(j−1)·φ_(k) to a precision δ₁, where the subscript 1 is to indicate that this is the precision on the first round. This quantity δ₁ will be much larger than the final precision δ of our two-round algorithm, but will be much smaller than 1. As discussed below, this precise estimate ρ_(j) can be given for 0≦j<m−log(1/δ₁); however, since log(δ₁) will be much smaller than m, this will indeed be most of the j.

To compute ρ_(j), use β_(j+l) for l=0, . . . , log(1/δ₁) in a Kitaev-style inference procedure to compute log(1/δ₁)+2 bits in the binary expansion of ρ_(j). That is, the three lowest order bits in the binary expansion are obtained from β_(j+log(1/δ) ₁ _(). The estimate is sharpened by obtaining the l) ^(th) bit in the binary expansion from β_(j+l−1) and from the l+1^(th) and l+2^(th) bits, proceeding iteratively. The probability of error in ρ_(j) can be bounded by

Pr[|ρ _(j)−2^(j−1)·φ_(k)|≧δ₁]≦log(1/δ₁)exp(−cs ₁).  (31)

The factor of log(δ₁) occurs because to obtain an error less than δ₁ requires log(1/δ₁) bits of precision. This estimate of the probability of error is essentially the same as the estimate of the probability of having an error in Kitaev's original algorithm, except that instead of having m bits in the expansion, this technique results in log(1/δ₁) bits. These events (having a difference greater than ⅛ for some given j) are not independent. However, the event of having large error for some given j is uncorrelated with the event of having large error for bits j′ if |j′−j| is large enough compared to log(1/δ₁). The fact that this technique has only obtained the accurate estimate of ρ_(j) for j≦m−log(1/δ₁) will not pose a difficulty in what follows. For one thing, most “sets of measurements” (as defined below) do not “contain” (also defined below) the j for which there is not an accurate estimate. Alternately on the first round, all ρ_(j) for j≦m can be accurately inferred by running the first round on m+log(1/δ₁) bits.

The second round uses s₂m “sets” of measurements, for some parameter s₂ chosen later, where each set of measurements will consist of repeating the same measurement a total of C times, for some constant C. A parameter S, called the “sparsity” may be introduced in this round. For the i^(th) set of measurements, S different random values of j in the range 1≦j≦m are picked, calling these values j_(i) ^(i), . . . , j_(S) ^(i). In some instances, it may be required that these values j₁ ^(i), . . . , j_(S) ^(i) all be distinct from each other in a given measurement (if any two are equal, another S-tuple of values may be generated; typically, S<<√{square root over (m)} so a random tuple will have distinct entries with probability close to 1). Then, σ_(i) is estimated, where

$\begin{matrix} {\sigma_{i} = {\left( {2^{{j_{1}^{i} - 1}\;} + 2^{j_{2}^{i} - 1} + \ldots + 2^{j_{S}^{i} - 1}} \right){\phi_{k}.}}} & (32) \end{matrix}$

This estimate may be done using C applications of the basic measurement operation, with

M_(i) = 2^(j₁^(i) − 1) + … + 2^(j_(S)^(i) − 1)

for each measurement and θ_(i) being chosen randomly in {0, π/2}. The constant C may be chosen so that

$\begin{matrix} {{\Pr \left\lbrack {{{{M \cdot \phi_{k}} - \sigma_{i}}} > {1/32}} \right\rbrack} \leq {\frac{1}{8}.}} & (33) \end{matrix}$

The constant C is of order unity and does not depend upon m.

This completes the description of the measurements in the two-round technique. The classical post-processing phase is described below and includes an explanation on how to estimate a quantity β′_(j) for each j. This quantity will be an approximation to 2^(j−1)φ_(k), chosen from the set

$\left\{ {\frac{0}{8},\ldots \mspace{14mu},\frac{7}{8}} \right\}.$

A goal of the technique is to obtain an estimate such that for all j

$\begin{matrix} {{{\Pr \left\lbrack {{{{2^{j - 1} \cdot \phi_{k}} - \beta_{j}^{\prime}}} > {1/16}} \right\rbrack} \leq \frac{ɛ}{m}},} & (34) \end{matrix}$

for some constant ε. Thus, by a union bound, the probability of an error greater than ⅛ in any of the β′_(j) will be bounded by ε. Then the β′_(j) are utilized to determine the α_(j). This procedure may be given by the pseudo-code below:

Fast Phase Estimation Pseudo Code  1. First Round:  2. for j = m − 1, . . . , 1 do  3. Estimate 2^(j−1) · φ_(k) using 0(1) measurements per j  4. End for  5. Set sparsity, S, and number of measurements per bit, s.  6. For i = 1 to sm  7. Set M_(i) to a sum of S different powers of two, choosing these powers of two at random or with a pseudo-random distribution. Perform 0(1) measurements with given M_(i) and random or pseudo-random θ.  8. End for  9. Perform multi-bit inference to determine estimate of 2^(j−1) · φ_(k) for all j. 10. Set .α_(m)α_(m+1)α_(m+2) = β′_(m); 11. for j = m − 1, . . . , 1 do 12. Infer α_(j):   $\alpha_{j} = \left\{ \begin{matrix} 0 & {{{if}\mspace{14mu} {{\overset{\_}{{.0}\alpha_{j + 1}\alpha_{j + 2}} - \beta_{j}^{\prime}}}_{{mod}\mspace{14mu} 1}} < {1\text{/}4.}} \\ 1 & {{{if}\mspace{14mu} {{\overset{\_}{{.1}\alpha_{j + 1}\alpha_{j + 2}} - \beta_{j}^{\prime}}}_{{mod}\mspace{14mu} 1}} < {1\text{/}4.}} \end{matrix} \right.$ 13. End for 14. Return α, the estimate of the phase.

If the error is bounded by ⅛ for all β′_(j), then the estimate of the phase will be accurate to 2^(−(2n+2)).

To estimate 2^(j−1)·φ_(k), consider all sets of measurements such that one that one of the random values of j_(a) was equal to j; such a set of measurements is defined as “contains j”. On average, there will be s₂S such sets of measurements. In the following discussion, it is assumed that there are indeed exactly s₂S sets of measurements. The more general case where there are fluctuations in the number of sets of measurements is dealt with later.

On the i^(th) set of measurements, some estimate of σ_(i) is obtained. Suppose this set contains j. Without loss of generality, suppose that j₁=j. Then, given σ_(j) and ρ_(j) ₂ , . . . , ρ_(j) _(S) , the best estimate of 2^(j−1)·φ_(k) is:

σ_(i)−ρ_(j) ₂ −ρρ_(j) ₃ − . . . −ρ_(j) _(S)   (35)

Next, the probability that the estimate is off by more than 1/16 is bounded. This may be done by bounding the probability that our value of a_(j) differs by more than 1/32 from the correct value using Eq. (33) and also bounding the probability that our estimate of Σ_(l=2) ^(S)ρ_(j) _(l) differs by more than 1/32 from the correct value. To bound that probability, the following equation may be utilized:

Pr[|(Σ_(l=2) ^(S)ρ_(j) _(l) −2^(j) ^(l) ⁻¹·φ)|≧ 1/32]≦S log(32S)exp(−cs ₁),  (36)

where δ₁= 1/32S in Eq. (31) so that if each quantity ρ_(j) ₂ −2^(j) ^(l) ⁻¹·φ is accurate to within δ₁ then the sum is accurate to within 1/32. Then a union bound is utilized: if the probability that any given measurement is inaccurate is bounded by log(1/δ₁)exp(−cs₁), then the probability that at least one measurement is inaccurate is bounded by S times that quantity.

s₁˜log(log(m)) and S˜log(m) may be chosen so that the right-hand side of Eq. (36) is bounded by 1/32. Then, using Eqs. (33,36), the probability that the quantity in Eq. (35) differs by at least 1/16 from 2^(j−1)·φ_(k) is bounded by ¼. Approximately, s₂S different estimates of 2^(j−1)·φ_(k), one for each set of measurements involving the given j, may be determined. Assuming that certain events, namely that the quantity in Eq. (35) differs by more than 1/32 from 2^(j−1)·φ_(k) are independent (this is discussed further below). Then, these measurements may be combined to obtain an estimate of β′_(j) by picking the value of β′_(j) which is most frequently within 1/16 of Σ_(l=2) ^(S) (ρ_(j) _(l) −2^(j) ^(l) ⁻¹·φ); i.e., it is within 1/16 of that value for the greatest number of sets of measurements containing j.

The probability of error in β′_(j) by more than 1/16 is then bounded by exp(−c′s₂S) for some constant c′>0. Picking s₂˜1, it is found that the probability of error is 1/poly(N) for any desired polynomial, with the power depending upon the ratio between S/log(m), which ensures that this probability is small compared to ε/m. The number of measurements required by this procedure is O(m log(log(m))).

Several issues of correlations and fluctuations that were left open in the above analysis are now discussed. First, consider the fluctuation in the number of sets of measurements that contain j, for any given j. On average this quantity is s₂S, but there may be some fluctuations. However, the probability that there are fewer than s₂S/2 different such sets of measurements is exponentially small in s₂S, and hence for the given choice of s₂S, the quantity is bounded by 1/poly(N) and so can be made negligible (in fact, this probability, being exponentially small in s₂S, has a similar scaling as the probability that incorrectly infers a given 2^(j−1)·φ_(k) given s₂S sets of that contain j, as that probability is also exponentially small in s₂S). So, with high probability all j are contained in at least s₂S/2 measurements, and so S may be doubled and the analysis above may be applied.

Another way to deal with fluctuations in the number of measurements is to change the distribution of choices of j_(a) ^(i), and anti-correlate the choices in different sets of measurements to reduce the fluctuations in the number of sets of measurements containing a given j. In some instances, this will at best lead to a constant factor improvement.

Another kind of correlation that should be dealt with is correlation between the events that the quantity in Eq. (35) differs by more than 1/16 from 2^(j−1)·φ_(k). For a given j, assume for a given set of measurements j₁ ^(i)=j, and refer to j₂ ^(i), . . . , j_(S) ^(i) as the “partners” of j. For a given j, the different sets of measurements involving that j will typically have wildly different partners of j; that is, for two different sets of measurements, m, n, the following inequality will typically occur: |j_(a) ^(m)−j_(b) ^(n)|≳N/S²>>log(S) for a, b≠1. So, for most sets of measurements, these will be independent. Similarly, in a given measurement the following inequality, |j_(a) ^(m)−j_(b) ^(m)|>>log(S), will typically be true, so correlations between errors in different ρ_(j) _(a) may be ignored.

Note that if for a given j there is a large number of (roughly) independent sets of measurements containing that j, then adding a small number of correlated sets of measurements will not prevent the inference from working.

Multiple Round Technique

In some embodiments, the above procedure may be modified by increasing the number of rounds. In modified procedure, the first and second rounds proceed as before, though the constants s₁, s₂, S may be changed. For the second round, write S=S₂. The third round of the modified procedure is the same as the second round, except that s₃ sets of measurements are done, and in each measurement S₃ different random values of j are picked. On the third round, as in the second, each set of measurements is repeated C times. It is only the first round where the quantity C does not appear, for the reason that in that round, each measurement is already being repeated s₁ times. The number of rounds may be increased indefinitely. In each round, the sparsity may be exponentially increased as compared to the previous round, while keeping all constants s_(a) of order unity. The number of measurements is then proportional to the number of rounds. Since S increases exponentially in each round and S˜log(m) is needed in the last round, the number of rounds required is ˜log*(m) and the total number of measurements is ˜m log*(m).

Classical Post-Processing Time Required

The simplest implementation of the technique above requires a time O(m log²(m)). A discussion of this provided first and then a discussion on how to improve to O(m log(m)) is provided. Each bit is contained in ˜log(m) sets of measurements. To compute the quantity in Eq. (35), the sum on the right-hand side require summing over S different quantities, and for S˜log(m), this means that it takes time ˜log(m) to do the computation for each bit for each set of measurements containing that bit. So, with m bits, each contained in log(m) sets of measurements, the time is O(m log²(m)).

However, this may be slightly improved by noting that Eq. (35) can be written as

σ_(i)−(ρ_(j) ₁ +ρ_(j) ₂ + . . . +ρ_(j) _(S) )+ρ_(j) ₁ .  (37)

The quantity in parentheses can be computed once for each set of measurements, and re-used in inferring each of the ρ_(j) _(i) for i∈{1, . . . , S}, and then the computation requires at little as O(1) time to do the arithmetic for each of these i. This improves the total time to O(m log(m)).

Another technique for Fast Phase Estimation may be given by the pseudo-code below:

Fast Phase Estimation Pseudo Code  1. First Round:  2. for j = m − 1, . . . , 1 do  3. Estimate 2^(j−1) · φ_(k) using 0(1) measurements per j  4. End for  5. Later Rounds:  6. For r = 2 to Number of Rounds do  7. Set sparity, S, and number of measurements per bit, s_(r), for given round.  8. For i = 1 to s_(r)m  9. Set M_(i) to a sum of S different powers of two, choosing these powers of two at random or with a pseudo-random distribution. Perform 0(1) measurements with given M_(i) and random or pseudo-random θ. 10. End for 11. End for 12. Perform multi-bit inference to determine estimate of 2^(j−1) · φ_(k) for all j. Use estimates from previous round to give starting point for inference in next round. 13. Set .α_(m)α_(m+1)α_(m+2) = β′_(m); 15. for j = m − 1, . . . , 1 do 16. Infer α_(j):   $\alpha_{j} = \left\{ \begin{matrix} 0 & {{{if}\mspace{14mu} {{\overset{\_}{{.0}\alpha_{j + 1}\alpha_{j + 2}} - \beta_{j}^{\prime}}}_{{mod}\mspace{14mu} 1}} < {1\text{/}4.}} \\ 1 & {{{if}\mspace{14mu} {{\overset{\_}{{.1}\alpha_{j + 1}\alpha_{j + 2}} - \beta_{j}^{\prime}}}_{{mod}\mspace{14mu} 1}} < {1\text{/}4.}} \end{matrix} \right.$ 17. End for 18. Return α, the estimate of the phase.

Analysis of Circuit Depth and Width

The fast phase estimation technique offers an asymptotic improvement in the number of measurements required to estimate the phase with exponential precision. The following discusses how the corresponding quantum circuit scale, in terms of depth, width and size. The depth of a quantum circuit is defined as the number of timesteps, where gates on disjoint qubits can occur in parallel in a given timestep. Here it is assumed that a given n-qubit gate takes one timestep. The width of a quantum circuit is defined as the number of qubits. The size of a quantum circuit is the total number of non-identity quantum gates. To emphasize tradeoffs in depth and width depending on resource availability, the circuits for three different computing settings are analyzed. A summary of the circuit resources required for each technique given the setting is provided below in Table 1.

TABLE 1 of circuit depth, width, and size for fast phase estimation. Fast Phase Estimation Type Depth Width Size Sequential O(mlog*(m)) O(mlog*(m)) O(mlog*(m)) Parallel O(log(m)) O(mlog*(m)) O(mlog*(m)) Cluster O(log*(m)) O(m²) O(mlog*(m))

First, consider the setting where each measurement operator is performed sequentially. That is, the circuit is given by the sequence of gates (shown in FIG. 2)

R _(z)(θ₁)Λ¹(U ^(M) ¹ )[q ₁ ,A] . . . R _(z)(θ_(M) _(ms) )Λ¹(U ^(M) ^(ms) )[q _(ms) ,A]

,

where Λn(U)[q₁,q₂] denotes n-qubits in register q₁ controlling the application of gate U to register q₂. The quantum register containing the eigenvector state is denoted by |A

and is comprised of a qubits. Each phase estimation algorithm performs O(ms) measurements, resulting in a circuit of depth and size O(ms). The circuit requires O(ms) ancilla qubits, one per measurement, plus a additional qubits. For Kitaev 2002 phase estimation and fast phase estimation, s equals O(log(m)) and O(log*(m)), respectively. Thus in the sequential setting, fast phase estimation offers an asymptotic improvement in circuit depth and size, as well as in the number of ancilla qubits.

Second, consider a more parallel setting obtained by decreasing circuit depth at the cost of increasing circuit width. The quantum phase estimation may be parallelized. The idea is to apply one multi-controlled U^(M) gate, where M is given by

M=Σ _(j=1) ^(ms) M _(j) q _(j).  (38)

In some embodiments, the quantum phase estimator 118 performs

|M

|A

→|M

U ^(M) |A

.  (39)

Using a quantum addition circuit based on a 3-2 quantum adder (also called a carry-save adder), three m-bit numbers can be encoded as two numbers in O(1) depth, with width O(m) and size O(m). Represent the value M as a sum of s m-bit integers. The circuit first uses a log(s)-depth tree of 3-2 adders to produce two encoded numbers, and then adds these two numbers in place using a quantum carry-lookahead adder with O(m) ancillas, O(m) size, and O(log(m)) depth. In total, a quantum circuit can be constructed to add s m-bit integers in depth O(log(m)+log(s)) and O(ms) size and O(ms) ancillae.

An example circuit for performing parallel phase estimation is shown in FIG. 3. The circuit begins with a quantum register containing qubits initialized to 0

. Each qubit q_(i) undergoes a Hadamard operation, followed by a phase rotation by angle θ_(i) about the z-axis. An addition circuit (e.g., adder gate 318) is applied to determine |M

. A controlled U^(M) operation is applied, followed by an addition circuit to uncompute |M

. Finally, O(ms) Hadamard operations, and then O(ms) measurements, are performed, which can be done in depth O(1). The complete circuit for parallel phase estimation requires O(ms) size and O(log(m)+log(s)) depth, up to the implementation of the controlled U^(M) gate. Again, s equals O(log(m)) for Kitaev's phase estimation and O(log*(m)) for fast phase estimation yielding a significant reduction in circuit size to O(m log*(m)).

Third, consider access to a cluster of quantum computers containing m nodes. (See, FIGS. 4 and 5.) Each node 402, 502 performs s measurements, resulting in a depth of O(s), with a size and width per node of O(s) gates and O(s+a) qubits, respectively. Considering the overall cost across all m nodes, then the result is O(s) depth, O(ms) gates, and O(ms+ma) qubits. Again, fast phase estimation yields asymptotic improvements in all dimensions, and results, for all practical purposes, in a constant-depth phase estimation circuit. One potential advantage of the cluster model is that errors do not accumulate on the eigenvector state |A

, since subsets of measurements are done on separate nodes. This could be advantageous when designing a fault-tolerant phase estimation algorithm.

CONCLUSION

The above-described techniques pertain to phase estimation. Although the techniques have been described in language specific to structural features and/or methodological acts, it is to be understood that the appended claims are not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing such techniques. 

What is claimed is:
 1. A method of performing a quantum calculation, comprising: applying a first random phase factor (e^(2πiθ)) to an ancillary qubit; applying a second random phase factor (e^(2πiMφ)) to a calculational state comprised of multiple qubits; measuring a state of the ancillary qubit to obtain phase information related to the second random phase factor; and calculating a phase (α) of a phase factor (e^(2πiα)) for the calculational state based at least in part on the measured state of the ancillary qubit.
 2. The method of claim 1, further comprising: randomly selecting a phase (θ) for the first random phase factor (e^(2πiθ)) from a set of phases containing a first phase and a second phase that is approximately ninety degrees offset from the first phase.
 3. The method of claim 1, further comprising: selecting a multiple (M) of the second random phase factor (e^(2πiMφ)) to be a sum of multiple random powers of two.
 4. The method of claim 1, wherein applying a second random phase factor (e^(2πiMφ)) to a calculational state comprised of multiple qubits includes: providing a controlled unitary gate that is controlled by the ancillary qubit, wherein the controlled unitary gate includes an applied unitary operator (Y) that is equivalent to multiple (M) applications of a base unitary operator (U), Y=U^(M).
 5. The method of claim 4, wherein M, the multiple applications of the base unitary operator (U), has a value that is a sum of multiple random powers of two.
 6. The method of claim 1, wherein calculating the phase (α) of the phase factor (e^(2πiα)) for the calculational state based at least in part on the measured state of the ancillary qubit includes: determining a value for the phase (α) that maximizes a conditional probability distribution function; and setting the phase (α) to the determined value.
 7. The method of claim 1, wherein calculating the phase (α) of the phase factor (e^(2πiα)) for the calculational state based at least in part on the measured state of the ancillary qubit includes: determining a value for the phase (α) that maximizes a conditional probability distribution function; and setting the phase (α) to the determined value.
 8. The method of claim 1, wherein the ancillary qubit is one of a plurality of ancillary qubits, and wherein applying a first random phase factor (e^(2πiθ)) to an ancillary qubit includes: applying the first random phase factor (e^(2πiθ)) to the plurality of ancillary qubits.
 9. The method of claim 8, further comprising: adding, by a quantum adder gate, the plurality of ancillary qubits having the first random phase factor applied thereto to produce a summed state; and applying the summed state, as a control, to a controlled unitary gate, wherein the controlled unitary gate applies the second random phase factor (e^(2πiMφ)) to the calculational state responsive to the control of the summed state.
 10. The method of claim 1, wherein the ancillary qubit is one of a plurality of ancillary qubits, and wherein measuring for each ancillary qubit of the plurality of ancillary qubits a corresponding state to obtain phase information related to the second random phase factor.
 11. The method of claim 10, wherein the states of the plurality of ancillary qubits are measured approximately concurrently.
 12. The method of claim 10, wherein the states of the plurality of ancillary qubits are measured by a single measurement device.
 13. A method of performing a quantum calculation, comprising: applying a plurality of first random phase factors to a plurality of ancillary qubits; applying a plurality of second random phase factors to a calculational state comprised of multiple qubits, wherein each of the second random phase factors includes a multiple that is a sum of multiple random powers of two; for each ancillary qubit of the plurality of ancillary qubits, measuring a respective state to obtain phase information related to a corresponding one of the plurality of second random phase factors; and calculating a phase (α) of a phase factor (e^(2πiα)) for the calculational state based at least in part on the measured states of the plurality of ancillary qubits.
 14. The method of claim 13, wherein calculating the phase (α) of the phase factor (e^(2πiα)) for the calculational state based at least in part on the measured states of the plurality of ancillary qubits includes: iteratively calculating bits of the phase (α), when the phase (α) is expressed as a binary fraction.
 15. The method of claim 13, prior to each of applying a plurality of first random phase factors, applying a plurality of second random phase factors to a calculational state, and measuring a respective state to obtain phase information related to a corresponding one of the plurality of second random phase factors, the method further comprising: applying a plurality of first non-random phase factors to a previous plurality of ancillary qubits; applying a plurality of second non-random phase factors to a calculational state comprised of multiple qubits, wherein each of the second non-random phase factors includes a multiple that is a power of two; and for each ancillary qubit of the plurality of previous ancillary qubits, measuring a respective state to obtain phase information related to a corresponding one of the plurality of second non-random phase factors.
 16. The method of claim 13, wherein the plurality of first random phase factors is a first plurality of first random phase factors, wherein the plurality of second random phase factors is a first plurality of second random phase factors, and wherein the plurality of ancillary qubits is a first plurality of ancillary qubits, the method further comprising: applying a second plurality of first random phase factors to a second plurality of ancillary qubits; applying a second plurality of second random phase factors to the calculational state, wherein each of the second random phase factors of the second plurality of second random phase factors includes a multiple that is a power of two; and for each ancillary qubit of the second plurality of ancillary qubits, measuring a respective state to obtain phase information related to a corresponding one of the second plurality of second random phase factors.
 17. The method of claim 16, wherein the first plurality of second random phase factors is different from the second plurality of second random phase factors.
 18. A quantum computing device, comprising: a quantum phase estimator circuit having: a phase gate configured to apply a first random phase factor to an ancillary qubit; a controlled unitary gate configured to be controlled by the ancillary qubit having the first random phase factor applied thereto and configured to controllably apply a second random phase factor to a calculational state comprised of multiple qubits; and a measurement device configured to measure, after the ancillary qubit controls the controlled unitary gate, state information of the ancillary qubit, wherein a phase of the calculational state is determined based at least in part on the measured state information.
 19. The quantum computing device of claim 18, wherein the controlled unitary gate includes an applied unitary operator (Y) that is equivalent to multiple (M) applications of a base unitary operator (U), Y=U^(M), wherein the calculational state is an eigenvector of the base unitary operator (U), and wherein M, the multiple applications of the base unitary operator (U), has a value that is a sum of multiple random powers of two.
 20. The quantum computing device of claim 18, wherein a phase (θ) of the first random phase factor is selected from a set of phases containing a first phase and a second phase that is approximately ninety degrees offset from the first phase. 